gtk4.git
9 years agovulkanrender: Create descriptor pools with correct descriptor number
Georges Basile Stavracas Neto [Fri, 6 Jan 2017 04:39:03 +0000 (02:39 -0200)]
vulkanrender: Create descriptor pools with correct descriptor number

9 years agovulkancontext: Improve debug output
Georges Basile Stavracas Neto [Fri, 6 Jan 2017 03:41:20 +0000 (01:41 -0200)]
vulkancontext: Improve debug output

9 years agovulkancontext: Never abort on validation layer debug
Georges Basile Stavracas Neto [Fri, 6 Jan 2017 03:35:19 +0000 (01:35 -0200)]
vulkancontext: Never abort on validation layer debug

Validation layers should never interfere on application
execution.

9 years agoRevert "Use CSS for styling links in labels"
Matthias Clasen [Fri, 6 Jan 2017 00:48:51 +0000 (19:48 -0500)]
Revert "Use CSS for styling links in labels"

This reverts commit 60a8769e7f0c952fdc8090b1ecd96cca00123ad9.

This needs more work to work properly.

9 years agoUse CSS for styling links in labels
Matthias Clasen [Thu, 5 Jan 2017 23:10:52 +0000 (18:10 -0500)]
Use CSS for styling links in labels

This was implemented only halfway, and was hardcoding the
underline. We don't need to do that anymore.

9 years agomir: paste clipboard data from content-hub
William Hua [Sat, 15 Oct 2016 20:19:59 +0000 (22:19 +0200)]
mir: paste clipboard data from content-hub

https://bugzilla.gnome.org/show_bug.cgi?id=775732

9 years agomir: copy clipboard data to content-hub
William Hua [Wed, 12 Oct 2016 20:56:01 +0000 (16:56 -0400)]
mir: copy clipboard data to content-hub

https://bugzilla.gnome.org/show_bug.cgi?id=775732

9 years agomir: connect to content-hub
William Hua [Tue, 11 Oct 2016 20:53:48 +0000 (16:53 -0400)]
mir: connect to content-hub

https://bugzilla.gnome.org/show_bug.cgi?id=775732

9 years agomir: track focused window
William Hua [Fri, 14 Oct 2016 21:00:34 +0000 (17:00 -0400)]
mir: track focused window

https://bugzilla.gnome.org/show_bug.cgi?id=775732

9 years agomir: implement window properties
William Hua [Tue, 11 Oct 2016 23:06:12 +0000 (19:06 -0400)]
mir: implement window properties

https://bugzilla.gnome.org/show_bug.cgi?id=775732

9 years agoMake it possible to set style classes for label links
Matthias Clasen [Thu, 5 Jan 2017 21:36:14 +0000 (16:36 -0500)]
Make it possible to set style classes for label links

This makes it possible to style links in labels differently
in certain situations.

9 years agoUpdated Norwegian bokmål translation.
Kjartan Maraas [Wed, 4 Jan 2017 20:25:36 +0000 (21:25 +0100)]
Updated Norwegian bokmål translation.

9 years agodemos/icon-browser: increase default window size
Daniel Boles [Thu, 29 Dec 2016 00:43:18 +0000 (00:43 +0000)]
demos/icon-browser: increase default window size

...to get more than 1 row of icons to browse!

https://bugzilla.gnome.org/show_bug.cgi?id=776560

I've bumped the size a bit further, to 1024x768

9 years agodocs: improve the documentation of GtkEntry:attributes
Sébastien Wilmet [Fri, 25 Nov 2016 19:08:00 +0000 (20:08 +0100)]
docs: improve the documentation of GtkEntry:attributes

See the implementation of gtk_entry_create_layout():
pango_attr_list_splice() is used to add the PangoAttrList of the preedit
string. And that is done *after* applying the PangoAttrList of the
"attributes" property.

https://bugzilla.gnome.org/show_bug.cgi?id=776868

9 years agovulkan: Use LGPL v2
Georges Basile Stavracas Neto [Wed, 4 Jan 2017 18:02:44 +0000 (16:02 -0200)]
vulkan: Use LGPL v2

9 years agovulkanpushconstants: Don't report invalid ranges
Georges Basile Stavracas Neto [Wed, 4 Jan 2017 17:37:02 +0000 (15:37 -0200)]
vulkanpushconstants: Don't report invalid ranges

Vulkan doesn't accept empty ranges, so simply don't report
them.

9 years agovulkan: Turn headers to LGPL
Georges Basile Stavracas Neto [Wed, 4 Jan 2017 17:14:21 +0000 (15:14 -0200)]
vulkan: Turn headers to LGPL

9 years agovulkan: Create required number of swapchain images
Benjamin Otte [Wed, 4 Jan 2017 17:38:40 +0000 (18:38 +0100)]
vulkan: Create required number of swapchain images

Wayland has minImageCount == 4, so us just creating 2 images is not very
nice. So we don't do that anymore.

9 years agogdkvulkan: Track if we reffed the display's vulkan data
Benjamin Otte [Wed, 4 Jan 2017 17:26:14 +0000 (18:26 +0100)]
gdkvulkan: Track if we reffed the display's vulkan data

When reffing the display fails in init, we were still trying to unref
it. Which obviously failed and spewed warnings to stderr.

9 years agowayland: Add support for Vulkan renderer
Georges Basile Stavracas Neto [Tue, 3 Jan 2017 23:14:31 +0000 (21:14 -0200)]
wayland: Add support for Vulkan renderer

Mirror what's done with the X11 Vulkan renderer implementation,
with the addition of the extra Wayland window synchronization on
end_paint() override.

9 years agovulkancontext: Assume the window geometry when extents are bogus
Georges Basile Stavracas Neto [Tue, 3 Jan 2017 23:11:57 +0000 (21:11 -0200)]
vulkancontext: Assume the window geometry when extents are bogus

When the current extent is -1, we should assume whatever size
the GdkWindow has.

9 years agovulkancontext: Fix header
Georges Basile Stavracas Neto [Tue, 3 Jan 2017 23:11:36 +0000 (21:11 -0200)]
vulkancontext: Fix header

9 years agovulkan: Modernize blend pipeline
Benjamin Otte [Sun, 1 Jan 2017 22:47:53 +0000 (23:47 +0100)]
vulkan: Modernize blend pipeline

- Rename from blit => blend
- Use instances
- Add clip versions

9 years agogtk-demo: queue_draw() when the color changes
Benjamin Otte [Tue, 3 Jan 2017 22:34:53 +0000 (23:34 +0100)]
gtk-demo: queue_draw() when the color changes

9 years agoVisual Studio build: Update gsk project
Chun-wei Fan [Tue, 3 Jan 2017 07:16:32 +0000 (15:16 +0800)]
Visual Studio build: Update gsk project

A new Vulkan source was added, so this needs to be added to the projects.

9 years agogtkprintbackendfile: Correct PostScript capitalization
Piotr Drąg [Fri, 30 Dec 2016 18:25:22 +0000 (19:25 +0100)]
gtkprintbackendfile: Correct PostScript capitalization

https://bugzilla.gnome.org/show_bug.cgi?id=776627

9 years agogsk: Add GskRepeatNode
Benjamin Otte [Sun, 1 Jan 2017 18:52:18 +0000 (19:52 +0100)]
gsk: Add GskRepeatNode

Also add gtk_snapshot_push_repeat() and use that to draw backgrounds.

With that change, CSS background snapshots are created without Cairo
nodes.

9 years agocss: Redo GtkCssAffects
Benjamin Otte [Sun, 1 Jan 2017 18:50:25 +0000 (19:50 +0100)]
css: Redo GtkCssAffects

We now have GTK_CSS_AFFECTS_CONTENT for properties that have an effect
on content rendering.

Using GTK_CSS_AFFECTS_ICON is wrong for icon-transform and icon-filter
as they don't change the icon, just how the icon is rendered, so we use
GTK_CSS_AFFECTS_CONTENT for those.

We also introduce GTK_CSS_AFFECTS_POSTEFFECT for opacity and filter -
properties that affect the whole drawing of the widget by applying an
effect after everything is said and done.

9 years agogsk: Turn GskTexture into a GObject
Benjamin Otte [Sun, 1 Jan 2017 12:40:13 +0000 (13:40 +0100)]
gsk: Turn GskTexture into a GObject

9 years agocolorplane: Implement snapshot()
Benjamin Otte [Sat, 31 Dec 2016 22:09:35 +0000 (23:09 +0100)]
colorplane: Implement snapshot()

9 years agovulkan: Optimize getting textures
Benjamin Otte [Sat, 31 Dec 2016 21:58:15 +0000 (22:58 +0100)]
vulkan: Optimize getting textures

When we already have a texture or know we need to upload, just do that
instead of rendering to Cairo.

9 years agobuild: Require graphene-gobject
Emmanuele Bassi [Sun, 1 Jan 2017 11:10:33 +0000 (11:10 +0000)]
build: Require graphene-gobject

We need the GType wrappers around Graphene types, so we need to do a
dependency check on graphene-gobject-1.0, not graphene-1.0.

9 years agovulkan: Add support for color matrix nodes
Benjamin Otte [Sat, 31 Dec 2016 13:14:26 +0000 (14:14 +0100)]
vulkan: Add support for color matrix nodes

@keyframes weee {
    100% { filter: hue-rotate(1turn); }
}

.background {
    animation: linear infinite 3s weee;
}

9 years agoaccellabel: Initialize allocation variable
Benjamin Otte [Sat, 31 Dec 2016 13:13:32 +0000 (14:13 +0100)]
accellabel: Initialize allocation variable

I have no idea why gcc didn't catch this.

9 years agocssfiltervalue: Change node name
Benjamin Otte [Sat, 31 Dec 2016 12:49:43 +0000 (13:49 +0100)]
cssfiltervalue: Change node name

We're not just using this for icon filters, but for regular filters, so
the existing name is confusing.

9 years agovulkan: Make the effect renderer take matrix + offset
Benjamin Otte [Sat, 31 Dec 2016 12:24:21 +0000 (13:24 +0100)]
vulkan: Make the effect renderer take matrix + offset

This is in preparation for the new color matrix node.

I don't think keeping support for a separate opacity shader is worth it.

9 years agoscrolledwindow: Fix func summary being cut off in bindings using doxygen
Daniel Boles [Sat, 31 Dec 2016 13:27:15 +0000 (13:27 +0000)]
scrolledwindow: Fix func summary being cut off in bindings using doxygen

...which treats the first '.' in doc comments as the end of the summary.
So, e.g., in gtkmm, get_kinetic_scrolling() is currently summarised as
"Changes the behaviour of @scrolled_window wrt." Not very informative!

No need for a period there & anyway, the phrase "wrt to" is superfluous,
and we have space to actually say "with regard to", so just do that now.

9 years agocss: Implement filter
Benjamin Otte [Sat, 31 Dec 2016 01:48:25 +0000 (02:48 +0100)]
css: Implement filter

So far, it's only implemented for widgets, not for gadgets.

Not sure how to do it for gadgets without conflicts for widget gadgets
yet...

9 years agocss: Remove -gtk-icon-effect
Benjamin Otte [Sat, 31 Dec 2016 01:36:00 +0000 (02:36 +0100)]
css: Remove -gtk-icon-effect

-gtk-icon-filter replaces this now.

9 years agogtk: Replace -gtk-icon-effect with -gtk-icon-filter
Benjamin Otte [Sat, 31 Dec 2016 00:29:14 +0000 (01:29 +0100)]
gtk: Replace -gtk-icon-effect with -gtk-icon-filter

Instead of
  -gtk-icon-effect: dim;
  -gtk-icon-effect: hilight;
we now use
  -gtk-icon-filter: opacity(0.5);
  -gtk-icon-filter: brightness(1.2);
respectively.

9 years agogtk: Implement -gtk-icon-filter
Benjamin Otte [Sat, 31 Dec 2016 00:15:52 +0000 (01:15 +0100)]
gtk: Implement -gtk-icon-filter

This uses the new GskColorMatrixNode to implement a filter that applies
to icons. It's meant to replace -gtk-icon-effect.

9 years agosnapshot: Add gtk_snapshot_push_color_matrix()
Benjamin Otte [Sat, 31 Dec 2016 00:14:59 +0000 (01:14 +0100)]
snapshot: Add gtk_snapshot_push_color_matrix()

So far, this is unused.

9 years agogsk: Add GskColorMatrixNode
Benjamin Otte [Sat, 31 Dec 2016 00:13:19 +0000 (01:13 +0100)]
gsk: Add GskColorMatrixNode

This node essentially implements the feColorMatrix SVG filter. I got the
idea yesterday after looking at the opacity implementation.

It can be used for opacity (not sure if we want to) and to implement a
bunch of the CSS filters.

9 years agovulkan: Handle opacity nodes
Benjamin Otte [Fri, 30 Dec 2016 05:46:34 +0000 (06:46 +0100)]
vulkan: Handle opacity nodes

Well, "handle" them actually. We still draw the node's child using
Cairo, but we apply the opacity manually now.

9 years agodebugupdates: Draw without cairo node
Benjamin Otte [Tue, 27 Dec 2016 21:47:34 +0000 (22:47 +0100)]
debugupdates: Draw without cairo node

9 years agoGtkAboutDialog: Fix formatting of example email address in html
Chris Mayo [Tue, 27 Dec 2016 16:14:09 +0000 (16:14 +0000)]
GtkAboutDialog: Fix formatting of example email address in html

Signed-off-by: Chris Mayo <aklhfex@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=776524

9 years agoabout dialog: Simplify the template a bit
Matthias Clasen [Fri, 30 Dec 2016 15:20:16 +0000 (10:20 -0500)]
about dialog: Simplify the template a bit

Remove some unnecessary complications, like an extraneous
box, and some child property settings that are not needed.

9 years agoVisual Studio builds: Fix .pc generation
Chun-wei Fan [Fri, 30 Dec 2016 07:10:12 +0000 (15:10 +0800)]
Visual Studio builds: Fix .pc generation

A space was missed...

9 years agoVisual Studio builds: Mention about Vulkan builds
Chun-wei Fan [Fri, 30 Dec 2016 06:52:00 +0000 (14:52 +0800)]
Visual Studio builds: Mention about Vulkan builds

Let people know what is needed for Vulkan builds.

9 years agoVisual Studio builds: Support Vulkan builds
Chun-wei Fan [Fri, 30 Dec 2016 06:42:38 +0000 (14:42 +0800)]
Visual Studio builds: Support Vulkan builds

This will assume that the Vulkan SDK can be found in the INCLUDE/LIB paths
that are used by the Visual Studio compiler.

9 years agoVisual Studio builds: Clean up project files
Chun-wei Fan [Fri, 30 Dec 2016 04:46:55 +0000 (12:46 +0800)]
Visual Studio builds: Clean up project files

There are items in there that can be combined, as there are mostly no
differences between x64 and Win32 configs for source/data file generation.

9 years agoVisual Studio builds: Remove the Broadway projects
Chun-wei Fan [Fri, 30 Dec 2016 03:17:06 +0000 (11:17 +0800)]
Visual Studio builds: Remove the Broadway projects

They are not used anymore, so we ought to remove them

9 years agoVisual Studio builds: Drop the Broadway projects
Chun-wei Fan [Fri, 30 Dec 2016 03:09:46 +0000 (11:09 +0800)]
Visual Studio builds: Drop the Broadway projects

Since the status of the GDK broadway backend is more or less unsupported,
drop the projects that build gtk4-broadwayd and gdk-broadway, and update
the projects to not to refer to them.

However, keep the Broadway configs for now as we will later transform
them to become configs for Vulkan, so bascially besides "installation"
parts and output settings, they will do the same as their Release|Debug
counterparts with no support for Broadway.

9 years agoVisual Studio builds: Include Vulkan sources in GSK
Chun-wei Fan [Thu, 29 Dec 2016 17:08:07 +0000 (01:08 +0800)]
Visual Studio builds: Include Vulkan sources in GSK

...but disable them for now.  Configs will be added for the projects to
support Vulkan-enabled builds which will then enable the builds of these
sources.  Extra commands and items will be needed for the GSK resources
along with ensuring GSK_RENDERER_GSK being defined for the build of GDK,
GDK-Win32 and GSK so that the builds of Vulkan-enabled builds can be done
properly.

Filter out the Vulkan sources from the 'dist hook' rules in
gsk/Makefile.am as we don't want to in turn include them twice in the
projects when the 'make dist' is performed on a system with Vulkan
builds enabled.

9 years agoUpdate Russian translation
Stas Solovey [Thu, 29 Dec 2016 16:23:12 +0000 (16:23 +0000)]
Update Russian translation
(cherry picked from commit c7dce1018b73621ca50a086430809a43f50909b4)

9 years agoAvoid a possible crash in ::activate-url handlers
Matthias Clasen [Thu, 29 Dec 2016 16:07:05 +0000 (11:07 -0500)]
Avoid a possible crash in ::activate-url handlers

If the signal handler ends up changing the label text,
the link is no longer around to update the css node.
Check for this possibility to avoid a crash here.

9 years agoUpdate German translation
Mario Blättermann [Thu, 29 Dec 2016 10:40:32 +0000 (10:40 +0000)]
Update German translation

9 years agogsk: Fix build on Visual Studio
Chun-wei Fan [Wed, 28 Dec 2016 14:37:01 +0000 (22:37 +0800)]
gsk: Fix build on Visual Studio

One cannot use #if...#endif within macro calls in Visual Studio and
possibly other compilers, and there are more uses of VLAs that need to be
replaced with g_newa().

There were also checks for the clip type in gskvulkanrenderpass.c which
were possibly not done right (using the address of the type value to check
for a type value), which triggered errors as one is attempting to compare
a pointer type to an enum/int type.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

9 years agogdk/gdkvulkancontext.c: Avoid VLAs
Chun-wei Fan [Wed, 28 Dec 2016 14:34:04 +0000 (22:34 +0800)]
gdk/gdkvulkancontext.c: Avoid VLAs

During the drive to enable Vulkan context creation on Windows, some more
VLAs were found here.  Replace them with g_newa().

https://bugzilla.gnome.org/show_bug.cgi?id=773299

9 years agoGDK/Win32: Support Vulkan context creation
Chun-wei Fan [Wed, 28 Dec 2016 14:25:07 +0000 (22:25 +0800)]
GDK/Win32: Support Vulkan context creation

This adds support to the GDK Win32 backend so that we can support Vulkan
context creation for use in the GSK Vulkan renderer, so that we can test
it on Windows platforms as well.

https://bugzilla.gnome.org/show_bug.cgi?id=776544

9 years agogsk/gskrendernodeimpl.c: Avoid VLAs
Chun-wei Fan [Mon, 26 Dec 2016 04:40:36 +0000 (12:40 +0800)]
gsk/gskrendernodeimpl.c: Avoid VLAs

Use g_newa() instead of VLAs, as VLAs may never be supported by some
compilers as it became optional in C11 and there are concerns about their
implementations in compilers that do support it.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

9 years agoUpdate Hungarian translation
Gábor Kelemen [Tue, 27 Dec 2016 23:08:22 +0000 (23:08 +0000)]
Update Hungarian translation

9 years agoUpdate Hungarian translation
Gábor Kelemen [Tue, 27 Dec 2016 22:57:31 +0000 (22:57 +0000)]
Update Hungarian translation

9 years agogsk: Add GSK_RENDERING_MODE=full-redraw
Benjamin Otte [Mon, 26 Dec 2016 23:33:34 +0000 (00:33 +0100)]
gsk: Add GSK_RENDERING_MODE=full-redraw

Forces a full redraw every frame.
This is done generically, so it's supported on every renderer.

For widget-factory first page (with the spinner spinning and progressbar
pulsing), I get these numbers per frame:

action                  clipped         full redraw
snapshot                   0ms           7-10ms
cairo rendering            0ms          10-15ms
Vulkan rendering         3-5ms          18-20ms
Vulkan expected *          0ms            1-2ms
GL rendering            unsupported     55-62ms

* expected means disabling rendering of unsupported render nodes,
instead of doing fallback drawing. So it overestimates the performance,
because borders and box-shadows are disabled.

9 years agovulkan: Only render minimal region
Benjamin Otte [Mon, 26 Dec 2016 23:18:52 +0000 (00:18 +0100)]
vulkan: Only render minimal region

It's faster to render once for every rectangle in the clip region than
rendering the outline of the clip region.
Especially because this reduces the time necessary to build up the frame
data.

In widget-factory (where we have 3 rectangles), this leads to a 5x
speedup in the rendering time rendering alone.
Snapshotting time goes from 10ms to ~1ms, which is another huge
improvement.

9 years agogdkvulkan: Track changes per swapchain image
Benjamin Otte [Mon, 26 Dec 2016 21:24:22 +0000 (22:24 +0100)]
gdkvulkan: Track changes per swapchain image

... and use those in begin_frame() to ensure all of the invalid area
gets invalidated.

9 years agovulkan: Handle linear gradients
Benjamin Otte [Mon, 26 Dec 2016 16:11:13 +0000 (17:11 +0100)]
vulkan: Handle linear gradients

Note: We interpolate premultiplied colors as per the CSS spec. This i
different from Cairo, which interpolates unpremultiplied.

So in testcases with translucent gradients, it's actually Cairo that is
wrong.

9 years agotests: Add linear gradient test
Benjamin Otte [Mon, 26 Dec 2016 16:09:18 +0000 (17:09 +0100)]
tests: Add linear gradient test

9 years agotests: Add a patternspec argument for test creation
Benjamin Otte [Mon, 26 Dec 2016 16:08:06 +0000 (17:08 +0100)]
tests: Add a patternspec argument for test creation

That way, I don't need to recreate all the tests I don't care about.

This is particularly useful when I want to change the size of the
testcase.

9 years agotests: Make rendernode --dump-variant actually work
Benjamin Otte [Mon, 26 Dec 2016 16:07:24 +0000 (17:07 +0100)]
tests: Make rendernode --dump-variant actually work

9 years agogsk: Add missing Mozilla copyright header
Benjamin Otte [Mon, 26 Dec 2016 16:06:10 +0000 (17:06 +0100)]
gsk: Add missing Mozilla copyright header

I stole one of their shader functions, and if I steal, I might as well
do it right.

9 years agocss: Handle repeating gradients with only one offset
Benjamin Otte [Mon, 26 Dec 2016 16:04:56 +0000 (17:04 +0100)]
css: Handle repeating gradients with only one offset

Example:
  repeating-linear-gradient(red 50%, blue 50%)

Those gradients in Firefox draw a solid image of the last color, so do
the same here.

9 years agogsk: Insist on ordered color stops
Benjamin Otte [Mon, 26 Dec 2016 16:04:01 +0000 (17:04 +0100)]
gsk: Insist on ordered color stops

I don't want to sort them later for the shader preparation, so make
sure they come in ordered.

9 years agovulkan: Fix coordinate setup
Benjamin Otte [Mon, 26 Dec 2016 13:49:34 +0000 (14:49 +0100)]
vulkan: Fix coordinate setup

This makes rendering textures work when the top left of the rendered
texture is not at (0, 0).

9 years agotests: Make sure number of runs is 1.
Benjamin Otte [Sun, 25 Dec 2016 18:51:30 +0000 (19:51 +0100)]
tests: Make sure number of runs is 1.

9 years agoBox: Restore an accidentally deleted comment
Daniel Boles [Mon, 26 Dec 2016 10:57:51 +0000 (10:57 +0000)]
Box: Restore an accidentally deleted comment

Also, split a MAX() onto its own line to match the others.

9 years agoBox: avoid recalc/reassignments, improve var names
Daniel Boles [Sun, 25 Dec 2016 23:16:14 +0000 (23:16 +0000)]
Box: avoid recalc/reassignments, improve var names

Homogeneous branches repeated the calculation/assignment of the initial
space available to children. This avoids that by shuffling some code.

Perhaps more importantly, in doing that, I ended up with some ambiguous
names, and Company and I realised how vague the pre-existing naming was.
"size" becomes "extra_space", as this is what it represents. Conversely,
"extra" becomes "size_given_to_child" (albeit still given out in two
different ways depending on whether the Box is homogeneous). My hope is
that these sections of code are now somewhat less baffling than before!

9 years agoBox: Don't unnecessarily repeat a function call
Daniel Boles [Sun, 25 Dec 2016 17:43:06 +0000 (17:43 +0000)]
Box: Don't unnecessarily repeat a function call

The spacing was already saved in a variable just above.

9 years agotests: Remove executable bit from C files
djb [Sun, 25 Dec 2016 21:46:28 +0000 (21:46 +0000)]
tests: Remove executable bit from C files

9 years agotests: Fix logic to detect argument length
Benjamin Otte [Sun, 25 Dec 2016 05:19:34 +0000 (06:19 +0100)]
tests: Fix logic to detect argument length

9 years agotests: Add a --runs argument to rendernode
Benjamin Otte [Sun, 25 Dec 2016 05:18:42 +0000 (06:18 +0100)]
tests: Add a --runs argument to rendernode

This way we can rerun fast tests lots of times - not so much for
averaging times, but more for sysprof'ing.

9 years agotests: Add another test
Benjamin Otte [Sun, 25 Dec 2016 05:03:31 +0000 (06:03 +0100)]
tests: Add another test

In this test, Cairo is almost as fast as Vulkan. I wonder why.

9 years agovulkan: Add shader for color drawing with rectangle clip
Benjamin Otte [Sun, 25 Dec 2016 05:01:54 +0000 (06:01 +0100)]
vulkan: Add shader for color drawing with rectangle clip

9 years agovulkan: We use VK_FORMAT_B8G8R8A8_UNORM
Benjamin Otte [Sun, 25 Dec 2016 04:57:16 +0000 (05:57 +0100)]
vulkan: We use VK_FORMAT_B8G8R8A8_UNORM

... not SRGB. SRGB messes up alpha compositing, GdkRGBA and everything
else.

9 years agoUpdated Czech translation
Marek Černocký [Sat, 24 Dec 2016 13:40:35 +0000 (14:40 +0100)]
Updated Czech translation

9 years agovulkan: Add proof-of-concept clip implementation
Benjamin Otte [Sat, 24 Dec 2016 05:16:54 +0000 (06:16 +0100)]
vulkan: Add proof-of-concept clip implementation

We can now clip to cicular rounded rectangles when drawing colors.

9 years agovulkan: Fold clip into push constants
Benjamin Otte [Sat, 24 Dec 2016 03:58:51 +0000 (04:58 +0100)]
vulkan: Fold clip into push constants

As a side effect, the clipping data is now available inside shaders.

Not that any shader would use them yet, but they could!

9 years agovulkan: Change handling of push constants
Benjamin Otte [Sat, 24 Dec 2016 03:10:00 +0000 (04:10 +0100)]
vulkan: Change handling of push constants

Instead of storing the wire format, store the true structs and only
convert to the wire format when needed.

9 years agogsk: Add debug category for fallbacks
Benjamin Otte [Fri, 23 Dec 2016 23:52:07 +0000 (00:52 +0100)]
gsk: Add debug category for fallbacks

... and use it for the cases in Vulkan where we fall back to Cairo.

9 years agogsk: Add GskVulkanClip
Benjamin Otte [Fri, 23 Dec 2016 20:36:17 +0000 (21:36 +0100)]
gsk: Add GskVulkanClip

This is now tracking the clips added by the clip nodes.
If any particular node can't deal with a clip, it falls back to Cairo
rendering. But if it can, it will render it directly.

9 years agoiconhelper: Invalidate style before accessing texture
Benjamin Otte [Fri, 23 Dec 2016 22:16:30 +0000 (23:16 +0100)]
iconhelper: Invalidate style before accessing texture

Invalidating the style might cause invalidation of the texture. So we
end up with a pointer to freed memory.
SAD!

9 years agovulkan: Try combining draw calls
Benjamin Otte [Fri, 23 Dec 2016 21:19:56 +0000 (22:19 +0100)]
vulkan: Try combining draw calls

This gives a 5-7% speedup in the case where we're just drawing N colors
and nothing else. So it;s not tremendously useful, but noticeable.

9 years agogsk: Fix memory leak in gsk_render_node_write_to_file()
Garrett Regier [Fri, 23 Dec 2016 12:08:43 +0000 (04:08 -0800)]
gsk: Fix memory leak in gsk_render_node_write_to_file()

9 years agoUpdate POTFILES.in
Piotr Drąg [Fri, 23 Dec 2016 15:18:23 +0000 (16:18 +0100)]
Update POTFILES.in

9 years agocalendar: Implement snapshot()
Benjamin Otte [Fri, 23 Dec 2016 11:07:22 +0000 (12:07 +0100)]
calendar: Implement snapshot()

9 years agotests: Improve rendernode test further
Benjamin Otte [Fri, 23 Dec 2016 10:30:09 +0000 (11:30 +0100)]
tests: Improve rendernode test further

- Print benchmark output in fallback path
- Always run rendering, even when no filename given
- Don't require a filename when running with --benchmark

9 years agocellrenderer: Remove render() vfunc
Benjamin Otte [Fri, 23 Dec 2016 10:11:52 +0000 (11:11 +0100)]
cellrenderer: Remove render() vfunc

Make the last 2 cell renderers create the cairo node themselves.

9 years agocellrendererpixbuf: Implement snapshot()
Benjamin Otte [Fri, 23 Dec 2016 09:50:04 +0000 (10:50 +0100)]
cellrendererpixbuf: Implement snapshot()

9 years agocellrendererprogress: Implement snapshot()
Benjamin Otte [Fri, 23 Dec 2016 09:44:49 +0000 (10:44 +0100)]
cellrendererprogress: Implement snapshot()

9 years agocellrenderertoggle: Implement snapshot()
Benjamin Otte [Fri, 23 Dec 2016 08:31:54 +0000 (09:31 +0100)]
cellrenderertoggle: Implement snapshot()